草庐IT

javascript - Sinon stub 调用假参数

全部标签

ruby - Rails 4 before_action,将参数传递给调用的方法

我有以下代码:classSupportsController是否可以将字符串传递给方法set_support以应用于所有4种View方法?是否可以为View中的每个方法将不同的字符串传递给方法set_support? 最佳答案 before_actiononly:[:show,:edit,:update,:destroy]doset_support("value")end 关于ruby-Rails4before_action,将参数传递给调用的方法,我们在StackOverflow上找到

ruby - 如何获取在 Ruby 中调用使用提示的命令的名称?

不久前我写了一个不错的小Ruby脚本,我非常喜欢。我想通过检查适当数量的参数来提高它的健壮性:ifARGV.length!=2thenputs"Usage:arg1arg2"end当然这是伪代码。无论如何,在C或C++中,我可以使用argv[0]来获取用户用来获取我的命令的名称,无论他们是否像./myScript.rb或myScript.rb或/usr/local/bin/myScript.rb。在Ruby中,我知道ARGV[0]是第一个真正的参数,而ARGV不包含命令名称。有什么办法可以得到这个吗? 最佳答案 Ruby提供了三种方

ruby - 传递哈希而不是方法参数

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我看到在Ruby(以及一般的动态类型语言)中,一个非常普遍的做法是传递一个散列,而不是声明具体的方法参数。例如,与其声明一个带有参数的方法并像这样调用它:defmy_method(width,height,show_border)my_method(400,50,false)你可以这样做:defmy_method(options)my_method({"width"=>400,"heigh

ruby - 如何在 'vagrant up' 上传递参数并将其置于 Vagrantfile 的范围内?

我正在寻找一种将参数传递给Chef食谱的方法,例如:$vagrantupsome_parameter然后在其中一本Chef食谱中使用some_parameter。 最佳答案 您不能将任何参数传递给vagrant。唯一的办法就是使用环境变量MY_VAR='myvalue'vagrantup并在配方中使用ENV['MY_VAR']。 关于ruby-如何在'vagrantup'上传递参数并将其置于Vagrantfile的范围内?,我们在StackOverflow上找到一个类似的问题:

ruby 将数组转换为函数参数

假设我有一个数组。我希望将数组传递给一个函数。但是,该函数需要两个参数。有没有办法即时将数组转换为2个参数?例如:a=[0,1,2,3,4]b=[2,3]a.slice(b)在Ruby中会产生错误。我需要输入a.slice(b[0],b[1])我正在寻找更优雅的东西,如a.slice(foo.bar(b))谢谢。 最佳答案 您可以使用*(或“splat”)运算符将Array转换为参数列表:a=[0,1,2,3,4]#=>[0,1,2,3,4]b=[2,3]#=>[2,3]a.slice(*b)#=>[2,3,4]引用:Arrayto

ruby - Ruby 是否执行尾调用优化?

函数式语言导致使用递归来解决很多问题,因此它们中的许多都执行尾调用优化(TCO)。TCO导致从另一个函数(或它本身,在这种情况下,此功能也称为尾递归消除,它是TCO的子集)调用一个函数,作为该函数的最后一步,不需要新的堆栈框架,这减少了开销和内存使用。Ruby显然从函数式语言中“借用”了很多概念(lambda、map等函数等),这让我很好奇:Ruby是否执行尾调用优化? 最佳答案 不,Ruby不执行TCO。但是,它也不执行TCO。Ruby语言规范并未提及任何有关TCO的内容。它没有说您必须这样做,但也没有说您不能这样做。你不能依赖它

ruby-on-rails - 有没有办法在 Ruby 中访问方法参数?

Ruby和ROR的新手并且每天都喜欢它,所以这是我的问题,因为我不知道如何用谷歌搜索它(我已经尝试过:))我们有方法deffoo(first_name,last_name,age,sex,is_plumber)#somecode#errorhappensherelogger.error"Methodhasfailed,hereareallmethodarguments#{SOMETHING}"end所以我正在寻找将所有参数传递给方法的方法,而不是列出每个参数。因为这是Ruby,所以我认为有办法:)如果是Java,我会列出它们:)输出将是:Methodhasfailed,herearea

ruby - 如何根据名称动态调用方法?

这个问题在这里已经有了答案:CallingaMethodFromaStringWiththeMethod'sNameinRuby(4个答案)关闭3年前。当名称包含在字符串变量中时,如何动态调用方法?例如:classMyClassdeffoo;enddefbar;endendobj=MyClass.newstr=get_data_from_user#e.g.`gets`,`params`,DBaccess,etc.str#=>"foo"#somehowcall`foo`on`obj`usingthevaluein`str`.我该怎么做?这样做有安全风险吗?

ruby-on-rails - RSpec:如何测试一个方法是否被调用?

在编写RSpec测试时,我发现自己写了很多看起来像这样的代码,以确保在执行测试期间调用了一个方法(为了争论,我只是说我真的不能查询调用后对象的状态,因为方法执行的操作不容易看到效果)。describe"#foo"it"shouldcall'bar'withappropriatearguments"docalled_bar=falsesubject.stub(:bar).with("anargumentIwant"){called_bar=true}subject.fooexpect(called_bar).tobe_trueendend我想知道的是:还有比这更好的语法吗?我是否缺少一些

Ruby Gem 在 Mavericks 和 Xcode 5.1 上安装 Json 失败 - 未知参数 : '-multiply_definedsuppress'

我正在尝试运行geminstalljson并收到以下错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="compilinggenerator.clinkingshared-objectjson/ext/generator.bundleclang:error:unknow